package com.project.util;

import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.net.URL;
import java.net.URLDecoder;

/**
 * 上传文件工具类
 */
public class UploadUtil {

    /**
     * 上传文件
     * @param mf 上传文件对象
     * @param dirPath 服务器存放文件的目录路径
     * @return 重命名的上传文件
     */
    public static String upload(MultipartFile mf,String dirPath){
        //得到文件名
        String fileName = mf.getOriginalFilename();
        //以时间毫秒数做文件名，重命名上传文件
        fileName = System.currentTimeMillis() +
                fileName.substring(fileName.lastIndexOf("."));
        try {
            //得到上传文件存放目录的真实路径
            URL url = Thread.currentThread().getContextClassLoader()
                    .getResources("static/html/"+dirPath).nextElement();
            String filePath = URLDecoder.decode(url.getFile(), "utf-8");

            //将上传文件写入服务器
            mf.transferTo(new File(filePath+"/"+fileName));

        }catch (Exception e){
            e.printStackTrace();
        }

        return fileName;
    }
}
